<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>Simd Library Release Notes (2014)</title>
</head>
<body> <center><table width=1024><tr><td>
<a id="HOME"><a>
<center>
<img width="200" height="100" src="logo.png">
<h1>Simd Library Release Notes (2014).</h1>
<a href="index.html">Home</a> |
<a href="2024.html">Release Notes</a> | 
<a href="download.html">Download</a> |  
<a href="help/index.html">Documentation</a> |  
<a href="http://github.com/ermig1979/Simd/issues">Issues</a> |  
<a href="http://github.com/ermig1979/Simd" target="_top">GitHub</a> 
</center>
<hr/> 
</td></tr><tr><td>

<center>
 <a href="2024.html">2024</a> |
 <a href="2023.html">2023</a> |
 <a href="2022.html">2022</a> |
 <a href="2021.html">2021</a> |
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> |
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<hr/> 
<h3 id="R024">December 1, 2014 (version 2.1.24.407)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE2, SSSE3, AVX2 and VSX optimization of function Reorder16bit.</li>
 <li>Base implementation, SSE2, SSSE3, AVX2 and VSX optimization of function Reorder32bit.</li>
 <li>Base implementation, SSE2, SSSE3, AVX2 and VSX optimization of function Reorder64bit.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Compiler error in function BgrToYuv444p (PowerPC, Debug mode).</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function Reorder16bit.</li>
 <li>Tests for verifying functionality of function Reorder32bit.</li>
 <li>Tests for verifying functionality of function Reorder64bit.</li>
</ul>

<h4>Documentation</h4>
<h5>New features</h5>
<ul>
 <li>Groups in Doxygen's description for all types from SimdTypes.h.</li>
 <li>Groups in Doxygen's description for all functions from SimdLib.h.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R023">November 4, 2014 (version 2.1.23.399)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Assert in method View::At to check access outside the view.</li>
 <li>Base implementation, SSSE3, AVX2 and VSX optimization of function BgrToYuv420p.</li>
 <li>Base implementation, SSSE3, AVX2 and VSX optimization of function BgrToYuv444p.</li>
 <li>Base implementation, SSE2, SSSE3, AVX2 and VSX optimization of function BgraToYuv420p.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function BgraToYuv444p.</li>
 <li>Base implementation, SSE, AVX and VSX optimization of function SquaredDifferenceSum32f.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function BgrToYuv420p.</li>
 <li>Tests for verifying functionality of function BgrToYuv444p.</li>
 <li>Tests for verifying functionality of function BgraToYuv420p.</li>
 <li>Tests for verifying functionality of function BgraToYuv444p.</li>
 <li>Tests for verifying functionality of function SquaredDifferenceSum32f.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong saving and loading array of 8-bit data in cross platform tests.</li>
</ul>

<h4>Infrastructure</h4>
<h5>>New features</h5>
<ul>
 <li>The SimdSse1 project for Visual Studio 2012.</li>
 <li>The SimdAvx1 project for Visual Studio 2012.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R022">October 1, 2014 (version 2.1.22.388)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Extended functionality of function OperationBinary8u (added SaturatedAddition operation).</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function SegmentationChangeIndex.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function SegmentationPropagate2x2.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong assert condition in functions InterferenceIncrement, InterferenceIncrementMasked, InterferenceDecrement and InterferenceDecrementMasked.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>All CUDA algorithms.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function SegmentationChangeIndex.</li>
 <li>Tests for verifying functionality of function SegmentationPropagate2x2.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Tests for verifying functionality of all CUDA algorithms.</li>
</ul>

<h4>Infrastructure</h4>
<h5>Removing</h5>
<ul>
 <li>Project files for Visual Studio 2013.</li>
 <li>CUDA project files for Visual Studio 2012.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R021">September 1, 2014 (version 2.1.21.380)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation of function HistogramMasked.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function ConditionalCount16i.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function InterferenceIncrement.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function InterferenceIncrementMasked.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function InterferenceDecrement.</li>
 <li>Base implementation, SSE2, AVX2 and VSX optimization of function InterferenceDecrementMasked.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Hid macro "pixel" for C++ (pixel is Altivec built-in type synonym).</li>
</ul>
<h5>Renaming</h5>
<ul>
 <li>SimdConditionalCount to SimdConditionalCount8u.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function HistogramMasked.</li>
 <li>Tests for verifying functionality of function ConditionalCount16i.</li>
 <li>Tests for verifying functionality of function InterferenceIncrement.</li>
 <li>Tests for verifying functionality of function InterferenceIncrementMasked.</li>
 <li>Tests for verifying functionality of function InterferenceDecrement.</li>
 <li>Tests for verifying functionality of function InterferenceDecrementMasked.</li>
</ul>

<h4>Infrastructure</h4>
<h5>Removing</h5>
<ul>
 <li>Project files for Code::Blocks.</li>
 <li>Makefile.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R020">August 11, 2014 (version 2.0.20.372)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Improved base implementation of function Crc32c.</li>
 <li>Improved base implementation of function Histogram.</li>
 <li>SSSE3 and VSX optimization of function BgraToBayer.</li>
 <li>SSSE3 and VSX optimization of function BgrToBayer.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in function Crc32c.</li>
 <li>Wrong image size checking in function SegmentationFillSingleHoles.</li>
 <li>Wrong assert condition in functions ContourMetrics and ContourMetricsMasked.</li>
 <li>Wrong GCC parameters for PowerPC in CMakeLists.txt.</li>
 <li>GCC compiler warning in SimdBaseFill.cpp.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function Histogram.</li>
 <li>Tests for verifying functionality of function Fill.</li>
 <li>Tests for verifying functionality of function FillFrame.</li>
 <li>Tests for verifying functionality of function Copy.</li>
 <li>Tests for verifying functionality of function CopyFrame.</li>
 <li>Tests for verifying functionality of function Integral.</li>
 <li>Cross platform tests for function Crc32c.</li>
 <li>Cross platform tests for function BayerToBgr.</li>
 <li>Cross platform tests for function BayerToBgra.</li>
 <li>Cross platform tests for function BgraToBayer.</li>
 <li>Cross platform tests for function BgrToBayer.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R019">July 10, 2014 (version 2.0.19.353)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Improved SSE41 and AVX2 optimization of function SegmentationShrinkRegion.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function SegmentationFillSingleHoles.</li>
 <li>SIMD_BIG_ENDIAN macro.</li>
 <li>VSX optimization of function ReduceGray2x2.</li>
 <li>VSX optimization of function OperationBinary8u.</li>
 <li>VSX optimization of function ReduceGray4x4.</li>
 <li>VSX optimization of function BackgroundGrowRangeSlow.</li>
 <li>VSX optimization of function BackgroundGrowRangeFast.</li>
 <li>VSX optimization of function BackgroundIncrementCount.</li>
 <li>VSX optimization of function BackgroundAdjustRange.</li>
 <li>Loader class for optimized loading of VSX vector from unaligned memory address.</li>
 <li>Storer class for optimized storing of VSX vector to unaligned memory address.</li>
 <li>VSX optimization of function AddFeatureDifference.</li>
 <li>VSX optimization of function ConditionalCount.</li>
 <li>VSX optimization of function TextureBoostedSaturatedGradient.</li>
 <li>VSX optimization of function GrayToBgra.</li>
 <li>VSX optimization of function BgraToGray.</li>
 <li>VSX optimization of function BgrToGray.</li>
 <li>VSX optimization of function DeinterleavedUv.</li>
 <li>VSX optimization of function GetAbsDyRowSums.</li>
 <li>VSX optimization of function GetAbsDxColSums.</li>
 <li>VSX optimization of function AbsSecondDerivativeHistogram.</li>
 <li>VSX optimization of function AbsGradientSaturatedSum.</li>
 <li>VSX optimization of function ShiftBilinear.</li>
 <li>VSX optimization of function GetStatistic.</li>
 <li>VSX optimization of function AbsDifferenceSum.</li>
 <li>VSX optimization of function AbsDifferenceSumMasked.</li>
 <li>VSX optimization of function BackgroundAdjustRangeMasked.</li>
 <li>VSX optimization of function BackgroundShiftRange.</li>
 <li>VSX optimization of function BackgroundShiftRangeMasked.</li>
 <li>VSX optimization of function BackgroundInitMask.</li>
 <li>VSX optimization of function TextureGetDifferenceSum.</li>
 <li>VSX optimization of function TexturePerformCompensation.</li>
 <li>VSX optimization of function ConditionalSquareGradientSum.</li>
 <li>VSX optimization of function ConditionalSquareSum.</li>
 <li>VSX optimization of function ConditionalSum.</li>
 <li>VSX optimization of function GetMoments.</li>
 <li>VSX optimization of function AbsDifferenceSums3x3.</li>
 <li>VSX optimization of function AbsDifferenceSums3x3Masked.</li>
 <li>VSX optimization of function Yuv420pToBgra.</li>
 <li>VSX optimization of function Yuv420pToBgr.</li>
 <li>VSX optimization of function MedianFilterSquare3x3.</li>
 <li>VSX optimization of function MedianFilterSquare5x5.</li>
 <li>VSX optimization of function MedianFilterRhomb3x3.</li>
 <li>VSX optimization of function MedianFilterRhomb5x5.</li>
 <li>VSX optimization of function VectorProduct.</li>
 <li>VSX optimization of function ContourMetrics.</li>
 <li>VSX optimization of function ContourMetricsMasked.</li>
 <li>VSX optimization of function ContourAnchors.</li>
 <li>VSX optimization of function SobelDx.</li>
 <li>VSX optimization of function SobelDxAbs.</li>
 <li>VSX optimization of function SobelDy.</li>
 <li>VSX optimization of function SobelDyAbs.</li>
 <li>VSX optimization of function ValueSum.</li>
 <li>VSX optimization of function SquareSum.</li>
 <li>VSX optimization of function GetRowSums.</li>
 <li>VSX optimization of function GetColSums.</li>
 <li>VSX optimization of function BgraToBgr.</li>
 <li>VSX optimization of function BgrToBgra.</li>
 <li>VSX optimization of function ReduceGray3x3.</li>
 <li>VSX optimization of function ReduceGray5x5.</li>
 <li>VSX optimization of function SquaredDifferenceSum.</li>
 <li>VSX optimization of function SquaredDifferenceSumMasked.</li>
 <li>VSX optimization of function Yuv444pToBgr.</li>
 <li>VSX optimization of function Yuv444pToBgra.</li>
 <li>VSX optimization of function StretchGray2x2.</li>
 <li>VSX optimization of function TextureBoostedUv.</li>
 <li>VSX optimization of function Yuv420pToHue.</li>
 <li>VSX optimization of function Yuv444pToHue.</li>
 <li>VSX optimization of function SegmentationShrinkRegion.</li>
 <li>VSX optimization of function EdgeBackgroundGrowRangeSlow.</li>
 <li>VSX optimization of function EdgeBackgroundGrowRangeFast.</li>
 <li>VSX optimization of function EdgeBackgroundShiftRange.</li>
 <li>VSX optimization of function EdgeBackgroundIncrementCount.</li>
 <li>VSX optimization of function EdgeBackgroundAdjustRange.</li>
 <li>VSX optimization of function EdgeBackgroundAdjustRangeMasked.</li>
 <li>VSX optimization of function EdgeBackgroundShiftRangeMasked.</li>
 <li>VSX optimization of function Binarization.</li>
 <li>VSX optimization of function AveragingBinarization.</li>
 <li>VSX optimization of function FillBgr.</li>
 <li>VSX optimization of function FillBgra.</li>
 <li>VSX optimization of function ResizeBilinear.</li>
 <li>VSX optimization of function LbpEstimate.</li>
 <li>VSX optimization of function GaussianBlur3x3.</li>
 <li>VSX optimization of function OperationBinary16i.</li>
 <li>VSX optimization of function SegmentationFillSingleHoles.</li>
 <li>VSX optimization of function Bgr48pToBgra32.</li>
 <li>VSX optimization of function GrayToBgr.</li>
 <li>VSX optimization of function AlphaBlending.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Crash in function SimdShiftBilinear (Linux, CPU without support of AVX).</li>
 <li>GCC compile error for PowerPC.</li>
 <li>Error in SSE2 optimization of function ReduceGray4x4.</li>
 <li>Error in base implementation of function GrayToBgra for PowerPC.</li>
 <li>Error in AVX2 optimization of function GaussianBlur3x3.</li>
 <li>Error in base implementation of function FillBgr for PowerPC.</li>
 <li>Error in base implementation of function FillBgra for PowerPC.</li>
 <li>Error in base implementation of function Bgr48pToBgra32 for PowerPC.</li>
 <li>Error in base implementation of function AveragingBinarization for PowerPC.</li>
 <li>Error in AVX2 optimization of function AveragingBinarization.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function SegmentationFillSingleHoles.</li>
 <li>Data tests (cross platform tests for verification of algorithm implementation for different processor architectures).</li>
 <li>Improved performance report.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ReduceGray2x2.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function OperationBinary8u.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ReduceGray4x4.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundGrowRangeSlow.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundGrowRangeFast.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundIncrementCount.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundAdjustRange.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AddFeatureDifference.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ConditionalCount.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function TextureBoostedSaturatedGradient.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GrayToBgra.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BgraToGray.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BgrToGray.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function DeinterleavedUv.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetAbsDyRowSums.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetAbsDxColSums.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsSecondDerivativeHistogram.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsGradientSaturatedSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ShiftBilinear.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetStatistic.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsDifferenceSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsDifferenceSumMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundAdjustRangeMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundShiftRange.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundShiftRangeMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BackgroundInitMask.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function TextureGetDifferenceSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function TexturePerformCompensation.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ConditionalSquareGradientSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ConditionalSquareSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ConditionalSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetMoments.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsDifferenceSums3x3.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AbsDifferenceSums3x3Masked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv420pToBgra.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv420pToBgr.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function MedianFilterSquare3x3.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function MedianFilterSquare5x5.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function MedianFilterRhomb3x3.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function MedianFilterRhomb5x5.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function VectorProduct.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ContourMetrics.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ContourMetricsMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ContourAnchors.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SobelDx.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SobelDxAbs.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SobelDy.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SobelDyAbs.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ValueSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SquareSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetRowSums.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GetColSums.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BgraToBgr.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function BgrToBgra.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ReduceGray3x3.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ReduceGray5x5.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SquaredDifferenceSum.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SquaredDifferenceSumMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv444pToBgr.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv444pToBgra.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function StretchGray2x2.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function TextureBoostedUv.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv420pToHue.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Yuv444pToHue.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SegmentationShrinkRegion.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundGrowRangeSlow.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundGrowRangeFast.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundShiftRange.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundIncrementCount.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundAdjustRange.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundAdjustRangeMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function EdgeBackgroundShiftRangeMasked.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Binarization.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AveragingBinarization.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function FillBgr.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function FillBgra.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function ResizeBilinear.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function LbpEstimate.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GaussianBlur3x3.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function OperationBinary16i.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function SegmentationFillSingleHoles.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function Bgr48pToBgra32.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function GrayToBgr.</li>
 <li>Cross platform tests and tests for verifying functionality of VSX version of function AlphaBlending.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>64-bit PowerPC architecture support for cmake.</li>
 <li>Vsx project for PowerPC VSX extension.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R018">June 2, 2014 (version 1.4.18.255)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Simd::Allocator structure.</li>
 <li>View structure is modified into a template structure.</li>
 <li>Cuda::HostAllocator structure.</li>
 <li>Cuda::DeviceAllocator structure.</li>
 <li>Cuda::Copy functions (copy a view to device and from device).</li>
 <li>CUDA version of function MedianFilterRhomb3x3.</li>
 <li>Base implementation, SSE41 and AVX2 optimization of function SegmentationShrinkRegion.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong stride alignment checking in functions SobelDx, SobelDxAbs, SobelDy, SobelDyAbs, ContourMetrics, ContourMetricsMasked and ContourAnchors.</li>
 <li>Compiler error on non x86 platforms (using cpuid instruction).</li>
 <li>GCC compiler errors.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of CUDA version of function MedianFilterRhomb3x3.</li>
 <li>Tests for verifying functionality of function SegmentationShrinkRegion.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Test::Random() always return 0 for Linux.</li>
 <li>Wrong test for function ContourAnchors.</li>
 <li>Wrong using _DEBUG macro instead of NDEBUG.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Cuda solution (Cuda and CudaTest projects) for Visual Studio 2012.</li>
 <li>Makefile for GCC.</li>
 <li>New algorithm of SimdVersion.h file generation for Windows.</li>
 <li>CMakeLists.txt for GCC.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R017">May 2, 2014 (version 1.3.17.237)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSSE3 and AVX2 optimization of function GrayToBgr.</li>
 <li>Base implementation, SSSE3 and AVX2 optimization of function ContourMetrics.</li>
 <li>Base implementation, SSSE3 and AVX2 optimization of function ContourMetricsMasked.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ContourAnchors.</li>
 <li>Function Distance.</li>
 <li>SSSE3 and AVX2 optimization of function AlphaBlending for Bgr24.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong second order moments calculation for large images in function GetMoments.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function GrayToBgr.</li>
 <li>Tests for verifying functionality of function ContourMetrics.</li>
 <li>Tests for verifying functionality of function ContourMetricsMasked.</li>
 <li>Tests for verifying functionality of function ContourAnchors.</li>
 <li>Tests for verifying functionality of SSSE3 optimization of function AlphaBlending.</li>
 <li>Tests for verifying functionality of function GetMoments for large images.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/>
<h3 id="R016">April 1, 2014 (version 1.3.16.228)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>SSSE3 optimization of function BgrToGray.</li>
 <li>Optimization of AVX2 implementation of function BgrToGray.</li>
 <li>AVX2 optimization of function BgrToBgra.</li>
 <li>Base implementation, SSSE3 and AVX2 optimization of function SobelDxAbs.</li>
 <li>Base implementation, SSSE3 and AVX2 optimization of function SobelDyAbs.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function SimdOperationBinary16i.</li>
 <li>SSSE3 ans AVX2 optimization of function Yuv444pToBgr.</li>
 <li>SSSE3 ans AVX2 optimization of function Yuv420pToBgr.</li>
 <li>Base implementation of function BayerToBgr.</li>
 <li>Base implementation of function BgrToBayer.</li>
 <li>Base implementation of function BayerToBgra.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ValueSum.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function SquareSum.</li>
</ul>
<h5>Renaming</h5>
<ul>
 <li>SimdOperation to SimdOperationBinary8u.</li>
 <li>SimdOperationType to SimdOperationBinary8uType.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of SSSE3 optimization of function BgrToGray.</li>
 <li>Tests for verifying functionality of AVX2 optimization of function BgrToBgra.</li>
 <li>Tests for verifying functionality of function SobelDxAbs.</li>
 <li>Tests for verifying functionality of function SobelDyAbs.</li>
 <li>Tests for verifying functionality of function SimdOperationBinary16i.</li>
 <li>Tests for verifying functionality of function Yuv444pToBgr.</li>
 <li>Tests for verifying functionality of function Yuv420pToBgr.</li>
 <li>Tests for verifying functionality of function BayerToBgr.</li>
 <li>Tests for verifying functionality of function BgrToBayer.</li>
 <li>Tests for verifying functionality of function BayerToBgra.</li>
 <li>Tests for verifying functionality of function ValueSum.</li>
 <li>Tests for verifying functionality of function SquareSum.</li>
</ul>

<a href="#HOME">Home</a>
<hr/> 
<h3 id="R015">March 3, 2014 (version 1.2.15.214)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation of function BgraToBayer.</li>
 <li>Optimization of Base, SSE2 and AVX2 implementation of function MedianFilterSquare3x3.</li>
 <li>Optimization of Base, SSE2 and AVX2 implementation of function MedianFilterRhomb5x5.</li>
 <li>Optimization of Base, SSE2 and AVX2 implementation of function MedianFilterSquare5x5.</li>
 <li>Method Rectangle::Shifted.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Potential memory leak during using of View structure.</li>
 <li>Wrong alignment checking in SSE2 and AVX2 optimizations of function AlphaBlending.</li>
 <li>Passing parameters to a function by value instead of reference for member functions of View structure.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function BgraToBayer.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Properties.prop file for Visual Studio 2012 projects.</li>
 <li>Project files for Visual Studio 2013</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R014">February 3, 2014 (version 1.2.14.202)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Macros: SIMD_ALIGNED, SIMD_ALIGN, SIMD_X64_ENABLE, SIMD_MM_SETR_EPI* and SIMD_MM256_SETR_EPI*.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function FillBgr.</li>
 <li>Extended functionality of function SimdIntegral.</li>
 <li>Enumeration SimdPixelFormatType.</li>
 <li>Optimization of Base, SSE2 and AVX2 implementation of function MedianFilterRhomb3x3.</li>
</ul>
<h5>Renaming</h5>
<ul>
 <li>SimdIntegralSum to SimdIntegral.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong argument checking in function SimdResizeBilinear.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function FillBgr.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Added SimdSse41 projects for Visual Studio 2012 and Code::Blocks.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R013">January 3, 2014 (version 1.2.13.194)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>SSSE3 optimization of function BgraToBgr.</li>
 <li>SSSE3 optimization of function ReduceGray2x2.</li>
 <li>SSSE3 optimization of function BgrToBgra.</li>
</ul>
<h5>Renaming</h5>
<ul>
 <li>SimdCrc32 to SimdCrc32c.</li>
 <li>SimdYuv420ToBgr to SimdYuv420pToBgr.</li>
 <li>SimdYuv444ToBgr to SimdYuv444pToBgr.</li>
 <li>SimdYuv420ToBgra to SimdYuv420pToBgra.</li>
 <li>SimdYuv444ToBgra to SimdYuv444pToBgra.</li>
 <li>SimdYuv420ToHue to SimdYuv420pToHue.</li>
 <li>SimdYuv444ToHue to SimdYuv444pToHue.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong average value calculation in function GetStatistic.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of SSSE3 optimization of function BgraToBgr.</li>
 <li>Tests for verifying functionality of SSSE3 optimization of function ReduceGray2x2.</li>
 <li>Tests for verifying functionality of SSSE3 optimization of function BgrToBgra.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Added SimdSsse3 projects for Visual Studio 2012 and Code::Blocks.</li>
 <li>Added script to generate help by Doxygen.</li>
</ul>

<h4>Documentation</h4>
<h5>New features</h5>
<ul>
 <li>Added Doxygen's description for all types from SimdTypes.h.</li>
 <li>Added Doxygen's description for all functions from SimdLib.h.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 

<center>
 <a href="2024.html">2024</a> |
 <a href="2023.html">2023</a> |
 <a href="2022.html">2022</a> |
 <a href="2021.html">2021</a> |
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> |
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<hr/>

</td> </tr> </table> </center> </body> </html>
